package com.ads.tpgrupo4.server.service.maestroDeRodamientos;

import java.rmi.RemoteException;
import java.util.List;

import com.ads.tpgrupo4.domain.cpr.core.Rodamiento;
import com.ads.tpgrupo4.server.remote.PersistenceService;


public class CargarMaestroDeRodamientosService {
	
	private static CargarMaestroDeRodamientosService instance;

	private MaestroDeRodamientosRetrieverRemoteService maestroDeRodamientosRetrieverService = MaestroDeRodamientosRetrieverRemoteServiceImpl.getInstance();
	private PersistenceService persistenceService = PersistenceService.getInstance();
	
	public static CargarMaestroDeRodamientosService getInstance() {

		if (instance == null) {
			instance = new CargarMaestroDeRodamientosService();
		}
		
		return instance;
	}
	
	private CargarMaestroDeRodamientosService() {
	}
	
	public void cargarMaestroDeRodamientos() {
		
		try {

			final List<Rodamiento> rodamientosDelMaestroActual = maestroDeRodamientosRetrieverService.getRodamientos();
			this.persistenceService.saveRodamientos(rodamientosDelMaestroActual);

		} catch (final RemoteException e) {
			throw new MaestroDeRodamientosServiceException(e);
		}
	}

}
